package awt;

import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

/**
 * @author xiaoqi
 * @data 2021/05/15 11:23
 */
public class BasicComponetDemo {
    //建一个frame,frame分为上下两个部分，下面为文本框，上面又分两个部分，右边为一个列表、
    //左边又分两个部分，一个下面为一个选择器，拉条，上面是一个文本域，
    Frame frame = new Frame("测试组件");
    //文本域, 文本框
    TextArea tt = new TextArea(5, 20);
    TextField tf = new TextField(30);
    Choice colorChoice = new Choice();//颜色选择器
    //Box组
    CheckboxGroup cbg = new CheckboxGroup();
    //设置Box
    Box cbox = Box.createHorizontalBox();
    Checkbox male = new Checkbox("男", cbg, true);
    Checkbox female = new Checkbox("女", cbg, false);
    Checkbox isMarried = new Checkbox("是否已婚");
    //添加确认按钮
    Button ok = new Button("确认");
    //列表框,是否支持单选
    List list = new List(6, true);
    //初始界面
    public void init(){
        //组装下面的部分
        Box underFrame = Box.createHorizontalBox();
        underFrame.add(tf);
        underFrame.add(Box.createHorizontalStrut(1));
        underFrame.add(ok);
        frame.add(underFrame, BorderLayout.SOUTH);
        //添加上左部分
        Box topleft = Box.createVerticalBox();
        topleft.add(tt);
        topleft.add(Box.createVerticalStrut(1));
        Box top_under = Box.createHorizontalBox();
        colorChoice.add("蓝色");
        colorChoice.add("绿色");
        colorChoice.add("黄色");
        top_under.add(colorChoice);
        cbox.add(male);
        cbox.add(female);
        cbox.add(isMarried);
        top_under.add(cbox);
        topleft.add(top_under);
        //组装上右
        Box top = Box.createHorizontalBox();
        top.add(topleft);
        list.add("蓝色");
        list.add("红色");
        list.add("绿色");
        top.add(list);
        //全部添加
        frame.add(top, BorderLayout.NORTH);
        //设置大小，位置，可见
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                //关闭窗口
                System.exit(0);
            }
        });
    }
    public static void main(String[] args) {
        new BasicComponetDemo().init();
    }
}
